home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / SYS / LINEEDIT / !LineEdit / History < prev    next >
Text File  |  1991-01-03  |  12KB  |  263 lines

  1. Revision History of the Line Editor
  2. -----------------------------------
  3.  
  4. Version 2.30 (January 1991)
  5. ---------------------------
  6.  
  7. * Fixed problem if recalled lines were longer than the maximum line length
  8.   (due to a new call to OS_ReadLine with a much smaller maximum line length
  9.   parameter). Lines are now correctly truncated when recalled, but are still
  10.   stored in their long form internally.
  11.  
  12. * OldKey$13 environmental variable is now removed when RETURN is pressed.
  13.   LineEditor$Dir is also removed when the module is *RMKill'ed.
  14.  
  15. * Changed the key combination used for 'clear and remove single line from
  16.   history' from Alt-Delete (which doesn't return a value from an INKEY)
  17.   to Shift-Insert (obscure, but I'm running out of keys !).
  18.  
  19. * Added some extra 'safety code' in case workspace pointer is corrupt.
  20.  
  21. * Split documentation further into a third file, "History" (this one), as well
  22.   as "!ReadMe" and "CompDoc".
  23.  
  24. Version 2.22 (October 1990) - Emergency bug-fix release
  25. ---------------------------
  26.  
  27. * Fixed RMA claim problem if, say, the *Configure RMASize is set to 32K, but
  28.   the *Configure EdSize is set to 63K and the Line Editor module is installed
  29.   outside of the Desktop. This would cause a system crash and a soft reset
  30.   actually performs a hard reset ! The fix involves checking for free RMA
  31.   if outside the Desktop (if inside, the Wimp muscles the RMA from other
  32.   sources) and generating an error if not enough is available prior to the
  33.   claim.
  34.  
  35. * Fixed problems with *Configure EdSize on-the-fly changes that exceeded the
  36.   RMA space currently available. If this occurs, then the Line Editing is
  37.   disabled until:
  38.   (1) a *RMTidy. This may still not free up enough RMA space for the claim.
  39.   (2) a *Configure EdSize to a lower value. This is the best option to take.
  40.   (3) a soft reset. This is likely to still generate an error during startup.
  41.  
  42. * Added new Alt-delete feature which removes a single line (the one currently
  43.   recalled) from the command history and also clears the line from the screen.
  44.  
  45. * Fixed a flag-returning bug - older versions would affect flags other than
  46.   the carry flag when ESCAPE was pressed: V2.22 now behaves correctly.
  47.  
  48. * Now saves and restores the value of function key 13 (Insert key) before and
  49.   after each line edit. This is done tackily at the moment, but will be
  50.   improved in a later release.
  51.  
  52. * BASIC front-end only kills module if its (and not the Task Manager's) Quit
  53.   menu option is selected. It will also avoid killing the module if the Shift-
  54.   Ctrl-f12 mechanism (aka Task Manager Desktop Exit) is used.
  55.  
  56. Version 2.21 (October 1990)
  57. ---------------------------
  58.  
  59. * Added *Configure EdCursor command to allow cursor shape customisation.
  60.  
  61. * *Configure EdSize now takes its parameter in kilobytes rather than the
  62.   totally non-standard "6502 pages" (i.e. 256 bytes) up to a maximum of 63K.
  63.   The default EdSize value is now 4 kilobytes rather than V2.20's 2K.
  64.  
  65. * Insert key now reverts back to being the toggle for Insert and Overtype
  66.   mode (V2.20 used Home instead). This was achieved by using the undocumented
  67.   fact that Insert is actually function key 13...
  68.  
  69. * Insert key toggles shape of cursor between underline and block.
  70.  
  71. * Changed my mind and included a *EraseHistory command after all because it
  72.   is so easy to write !
  73.  
  74. * Adjust BASIC front-end options to cope with new features. The menu is now
  75.   "peristent" in accordance with Acorn guidelines. Also fixed a bug whereby
  76.   a second run (whilst the first copy was still installed) of the front-end
  77.   would undefine LineEditor$Dir and kill the module, when it shouldn't.
  78.  
  79. * Fixed soft-reset overkill - a soft reset no longer re-initialises the
  80.   module workspace and it leaves the command history intact.
  81.  
  82. Version 2.20 (May 1990)
  83. -----------------------
  84.  
  85. * The Line Editor now installs an icon on the icon bar if it is started from
  86.   inside the Desktop (it can still, however, be started from the command line).
  87.   The menu associated with the icon allows the EdLines and EdSize values to
  88.   be configured dynamically. This front-end is a separate BASIC program called,
  89.   shock horror, "!RunImage".
  90.  
  91. * Apart from the above front-end (which is clearly designed for RISC OS),
  92.   support is still miraculously maintained by the module for Arthur 1.20.
  93.  
  94. * 'Improved' the problems with !Edit's and Twin's Task Windows. I had
  95.   to change the INKEY(0) scan back to a GET because !Edit/Twin intercepted
  96.   OS_ReadC/OS_ReadLine but NOT OS_Byte 129 !! Because of this, I am unable to
  97.   scan for the Insert key for switching Insert/Overtype mode and have reverted
  98.   to the Home key instead. Yes, I know it's far less intuitive, but tell Acorn
  99.   to make Insert return an ASCII code from GET (with *FX 4,1 active) - it's
  100.   the only one of that cluster of 6 keys that DOESN'T !!
  101.  
  102. * Changed the minimum, maximum and default EdLines and EdSize values (see
  103.   Memory Usage table above).
  104.  
  105. * Made *Configure EdLines and *Configure EdSize change the command history
  106.   buffer sizes dynamically if a new (different) value is specified. This also
  107.   clears the command history buffer as a side-effect.
  108.  
  109. * Shift-Delete added (deletes the character directly under the cursor and
  110.   'sucks' the rest of the line to the left by one character).
  111.  
  112. * Ctrl-Delete added (clears the command history buffer and erases the current
  113.   line) to simulate VAX/VMS's RECALL/ERASE, but on a key for emergencies
  114.   (the only reason you'd want to clear the buffer is to hide it from prying
  115.   eyes). Surrounded yet more SWI calls by the 'interrupt padding' code to
  116.   cope with this.
  117.  
  118.   NOTE: Since *RMReInit LineEditor, *Configure EdLines, *Configure EdSize and
  119.         Ctrl-Delete can all clear the command history buffer, a *EraseHistory
  120.         command (or something similar) is not needed.
  121.  
  122. * Added a *Recall command to list the entire contents of the command history
  123.   buffer. No, you can't specify an individual history line by number because
  124.   the list numbering would be shifted by 1 when you press RETURN !
  125.  
  126. * The *EdStatus command has been improved to show a table of figures rather
  127.   than (incomplete) English prose.
  128.  
  129. * Split the documentation between this file ("!ReadMe") and "CompDoc" (filename
  130.   completion).
  131.  
  132. * Finally documented the various * commands in the module in this file...
  133.  
  134. Version 2.10 (April 1990)
  135. -------------------------
  136.  
  137. * Source code released publicly for the first time. Includes a cut-down version
  138.   of the Line Editor in BASIC to show how to call the new filename completion
  139.   routines from your own code.
  140.  
  141. * Filename completion using the Tab key has been added due to popular demand.
  142.   This was a major upgrade (hence the jump in version numbering) and hence
  143.   has been included in a separate source file.
  144.  
  145. * The code is now 'Supervisor prompt aware' for both RISC OS and Arthur 1.20.
  146.  
  147. * SWI calls inside the trapped OS_ReadLine routine now use the padding
  148.   code familiar to those who've written routines to intercept vectors.
  149.   This should make the code more stable, even though it still doesn't
  150.   solve problems with !Edit's Task Window.
  151.  
  152. * Module compatibilty with Arthur 1.20 maintained (including the GOS 1.20
  153.   bug fix).
  154.  
  155. * Leading tildes are stripped off unmatched recall lines before execution.
  156.  
  157. * RISC OS application directory supplied with a trivial !Run file and
  158.   an application icon.
  159.  
  160. Version 2.00
  161. ------------
  162.  
  163. * Service call &27 (End of a machine reset) has been checked to allow a
  164.   nice startup message to appear in the same way as ADFS and BASIC. The
  165.   more useful side-effect is that the Line Editor REMAINS ACTIVE after a
  166.   soft reset (at last, I hear you cry...).
  167.  
  168. * The following maximum line lengths are used by Acorn :
  169.  
  170.                               Arthur 1.20    RISC OS
  171.   BASIC command line/INPUT        238          238
  172.   *GOS supervisor                 240          255
  173.   Desktop + f12 >> * prompt       N/A          256
  174.  
  175.   Because earlier versions only used a byte to hold the maximum length,
  176.   the 256 value would be moduloed to 0 and no characters could be entered !
  177.   I now use 4 bytes to hold the maximum length, which should be more than
  178.   sufficient. Ironically, OS_CLI doesn't like lines > 255 anyway, so you
  179.   get a 'too long' message if you type all 256 chars...
  180.  
  181. * Since the Line Editor was inspired by the VAX/VMS DCL line editor, many
  182.   people pointed out that pressing down arrow at the latest command should
  183.   generate a blank line (and ditto for up arrow at the oldest command). This
  184.   has been implemented and I've decided that I may as well let the recall
  185.   wrap around as well (not an original DCL feature, but I like it).
  186.  
  187. Version 1.03 - Emergency bug-fix release
  188. ------------
  189.  
  190. * Changes to V1.01 meant that inline strings were no longer aligned to the
  191.   nearest word in V1.02 causing an 'Address exception' with the *Status
  192.   command. The addition of ALIGN commands (which should have been there in
  193.   the first place) has cured the problem. Thanks to Gary C. Bartlett for
  194.   spotting this rather elementary mistake on my part.
  195.  
  196. Version 1.02
  197. ------------
  198.  
  199. * Added ~<substring> construct. Please moan if you don't like it.
  200.  
  201. Version 1.01
  202. ------------
  203.  
  204. * Command history buffer management much improved. You can now get down to
  205.   '0 bytes free' in the *EdStatus command - something you couldn't do in V1.00.
  206.   The bytes free has now been 'pluralised' i.e. it says 'There is 1 byte free'.
  207.  
  208. * Overtype mode added for people who like using it (who does ?). The default
  209.   mode for each line is insert mode and you have to press Insert to get into
  210.   overtype mode...which is the way it should be.
  211.  
  212. * Character read routine now uses INKEY(0) instead of GET because I needed to
  213.   scan (using INKEY(-62)) for the INSERT key, which NEVER returns an ASCII
  214.   code from GET...
  215.  
  216. * Line Editor now beeps (wow !) if the current line is at its maximum length
  217.   and further characters are typed.
  218.  
  219. * Ctrl-Cursor Up and Ctrl-Cursor Down commands added - they display the oldest
  220.   and newest command lines respectively. Yes, I confess, this is a poor
  221.   solution to the problem of *RECALL [<numbered history line>] (VAX/VMS has a
  222.   RECALL command which isn't put into the history buffer - I don't think this
  223.   can be done with my Line Editor).
  224.  
  225. Version 1.00
  226. ------------
  227.  
  228. * First version released into the Public Domain via the NEWS system and thus
  229.   set a precedent for being the first EVER Archimedes binary posted up to the
  230.   eunet.micro.acorn newsgroup. The big question is : will it be the ONLY ONE
  231.   EVER ? C'mon all you budding ARM (or even BASIC...) programmers out there
  232.   who are reading eunet.micro.acorn - post your stuff up NOW...
  233.  
  234. * Written, for the first time, as a relocatable module (much more useful !),
  235.   so now doesn't encroach on application workspace.
  236.  
  237. * Used two bytes of battery-backed RAM to store its configuration.
  238.  
  239. * *Help, *Configure and *Status now fully supported.
  240.  
  241. * New command *EdStatus added to display currently active configuration.
  242.  
  243. * Very minor bug in Pre-release Version fixed (cursor now goes to the end of
  244.   the input line before a CR-LF is output).
  245.  
  246. * Cleaned up some slight errors in the *Help LineEditor text.
  247.  
  248. * Fixed Arthur Supervisor bug.
  249.  
  250. Pre-release Version V1.0
  251. ------------------------
  252.  
  253. * 'Normal' ARM code program that was *RUN and resided at &8E000 (I think -
  254.   it was 'hackable' because the code was relocatable even then).
  255.  
  256. * Very minor bug - if a line wrapped onto a second or later line, then moving
  257.   the cursor back onto the first line and pressing RETURN would result in just
  258.   a CR-LF being output at the cursor position - hence bringing up the next
  259.   prompt (e.g. BASIC's ">" or Arthur's "*") on the wrong line.
  260.  
  261. * The location of command history buffer (and the program itself) was suspect
  262.   in the extreme - just plonked straight after the Line Editor program itself.
  263.